﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using PGE.AfastamentosTempMVC.Modelo;

namespace PGE.AfastamentosTempMVC.Servico.Interfaces
{
    public interface IFuncionarioServico
    {
        void Adicionar(Funcionario funcionario);
        void Editar(Funcionario funcionario);
        void Deletar(Funcionario funcionario);
        void DeletarMuitos(Func<Funcionario, bool> where);
        Funcionario ObterPorID(int Id);
        Funcionario ObterPornome(Func<Funcionario, bool> where);
        Funcionario ObterPrimeiro();
        Funcionario ObterPrimeiro(Func<Funcionario, bool> where);
        IEnumerable<Funcionario> ListarTudo();
        IQueryable<Funcionario> GetQueryable();
        IEnumerable<Funcionario> ListarMuitos(Func<Funcionario, bool> where);
    }
}
